package com.sky.annotation;

import com.sky.enumeration.OperationType;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 自定义注解，用于标识某个方法需要进行功能字段自动填充处理
 * 主要用于Mapper层方法，配合AOP实现创建时间、创建人等字段的自动赋值
 */
//标识该注释只能作用于方法上
@Target(ElementType.METHOD)
//标识注解的保留策略
@Retention(RetentionPolicy.RUNTIME)
public @interface AutoFill {
    // 定义注解的属性，类型为OperationType枚举
    // 用于指定当前方法执行的数据库操作类型（INSERT或UPDATE）
    // 使用时需指定具体值，如@AutoFill(OperationType.INSERT)
    OperationType value();
}
